{#if loadError} {loadError} {:else} {@const isOwner = $identity && (isId ? $identity.id : $identity.name) === data.username} {#if $BadgeWallUser.fetching || !$BadgeWallUser.data} {:else if !$BadgeWallUser.data.User} {:else} {@const ungroupedBadges = castBadgesToIndexedBadges($BadgeWallUser.data.User.badges)} {@const isBadgeSelected = selectedBadge && selectedBadge !== undefined && selectedBadge.image && selectedBadge.image !== undefined && !editMode}
{#if preferences && !preferences.hide_awc_badges} {/if} {#if ungroupedBadges === null} {:else} {@const groupedBadges = Object.entries( groupBadges(removeHiddenBadges(isOwner, ungroupedBadges)) )} {#if isOwner || authorised} {@const shadowHiddenCount = ungroupedBadges.filter((badge) => badge.shadow_hidden).length} {@const shadowHidden = shadowHiddenCount > 0} {#if shadowHidden}
Notice: The Badge Wall overseer system has detected badges containing AI-generated material on your wall. {shadowHiddenCount} of your badges have been shadow hidden. You may use the "Un-shadow Hide Badges" button to unhide these badges, from where you will be required to use the hide feature to hide these badges from the public, while allowing them to stay visible to you as the account holder.
{:else if false && !noticeDismissed}
Notice: AniList has begun purging outbound links which contain AI-generated material, this includes Badge Wall. If you have collected badges with AI-generated elements, kindly use the hide feature to hide these badges from the public, while allowing them to stay visible to you as the account holder. Failure to comply with this request at your earliest convenience will result in the hiding of all badges from your Badge Wall.
{/if}
{#if authorised} {/if} {#if isOwner && authorised} {/if} {#if isOwner} {#if shadowHidden} {/if} {#if editMode && isOwner} {@const groups = groupedBadges .map((group) => group[0]) .filter((group) => group !== 'Uncategorised')} {@const designers = castAsStringArray([ ...new Set( ungroupedBadges .map((badge) => badge.designer) .filter((designer) => designer !== undefined && designer !== null) .filter( (designer, index, array) => array.indexOf(designer) === index && !array.includes(`@${designer}`) ) ) ])} {#if error}

{error}

{/if} ({ name: group, url: '#', onClick: () => { const category = document.querySelector('input[name="category"]'); if (category instanceof HTMLInputElement) category.value = group; } }))} header={false} center={false} > Must be full date and time, defaults to now if any fields empty
({ name: designer, url: '#', onClick: () => { const designerField = document.querySelector('input[name="designer"]'); if (designerField instanceof HTMLInputElement) designerField.value = designer; } }))} header={false} center={false} > ({ name: hidden ? 'Hidden' : 'Shown', url: '#', onClick: () => { const hiddenInput = document.querySelector('input[name="hidden"]'); if (hiddenInput instanceof HTMLInputElement) hiddenInput.value = hidden ? 'Hidden' : 'Shown'; } }))} header={false} center={false} > {#if selectedBadge} {$locale().user.badges.editMode.or} {/if}
{/if} {/if}
{/if} {#if loadQueryParameter === 'none'}
Notice: {ungroupedBadges.length} badges have been loaded successfully, but they are not being displayed due to your preferences (load=none).
{:else} {/if} {/if}
{#if isBadgeSelected} { selectedBadge = undefined; }} > setAdjacentCursor(ungroupedBadges, 1)} onPrevious={() => setAdjacentCursor(ungroupedBadges, -1)} hasNext={adjacentBadgeExists(selectedBadge, ungroupedBadges, 1) !== undefined} hasPrevious={adjacentBadgeExists(selectedBadge, ungroupedBadges, -1) !== undefined} /> {#if authorised} {/if} {/if} {/if} {/if} {#if true} (importMode = false)} show={importMode}> {$locale().user.badges.importMode.title} {$locale().user.badges.importMode.importLinks.title} {$locale().user.badges.importMode.importLinks.hint} {$locale().user.badges.importMode.importReplies}
{$locale().user.badges.importMode.dangerous} {$locale().user.badges.importMode.deleteAll.hint}
{#if importImages && importImages.length > 0} {$locale({ values: { count: importImages.length } }).user.badges.importMode.importConfirm}  {$locale().user.badges.importMode.importWait} {/if}
{/if} (migrateMode = false)} show={migrateMode}> Migrate Category Leave category empty to migrate all to or from uncategorised. (hideMode = false)} show={hideMode}> Hide Category If the majority of the badges in a category are shown, the category will be hidden, and vice versa. Leave category field empty to hide all.